import { Module } from '@nestjs/common';
import { BullModule } from '@nestjs/bullmq';
import { ApiModule } from './api/api.module';
import { AuthModule } from './auth/auth.module';
import { KitsModule } from './kits/kits.module';
import { CoreModule } from './core/core.module';
import { ConfigModule } from '@nestjs/config';
import { ScheduleModule } from '@nestjs/schedule';
import { MongooseModule } from '@nestjs/mongoose';
import { RedisModule } from '@nestjs-modules/ioredis';
import { MailerModule } from '@nestjs-modules/mailer';
import { ChatModule } from './chat/chat.module';

@Module({
  imports: [
    ConfigModule.forRoot(),
    ApiModule,
    AuthModule,
    KitsModule,
    CoreModule,
    MongooseModule.forRoot('mongodb://localhost/baishipu'),
    // 导入任务调度
    ScheduleModule.forRoot(),
    // 导入队列
    BullModule.forRoot({
      connection: {
        host: 'localhost',
        port: 6397,
      },
    }),
    // 邮件模块
    MailerModule.forRoot(),
    // Redis模块
    RedisModule.forRoot({
      type: 'single',
      url: 'redis://localhost:6379',
    }),
    ChatModule,
  ],
})
export class AppModule {}
